#ifndef _BSP_BT_H
#define _BSP_BT_H

//标准HID键
#define HID_KEY_ENTER       0x28

//自定义HID键
#define HID_KEY_VOL_DOWN    0x00EA
#define HID_KEY_VOL_UP      0x00E9

typedef enum {
    BSP_DEVICE_STATUS_NONE = 0,
    BSP_DEVICE_STATUS_ACTIVE,
} bsp_device_status_e;

void bsp_bt_init(void);
void bsp_bt_close(void);
void bsp_bt_vol_change(void);
void bsp_bt_hid_photo(void);
bool bsp_bt_pwrkey5s_check(void);
void bsp_bt_pwrkey5s_clr(void);
void bsp_bt_hid_tog_conn(void);
void bsp_bt_get_remote_phone_number(void);
const char *bt_get_local_name(void);


void bt_save_qr_addr(u8 *addr);
bool bt_get_qr_addr(u8 *addr);
void bt_save_new_name(char *name, u8 len);
bool bt_get_new_name(char *name);
void bt_sdp_search_init(void);

void bt_redial_init(void);
void bt_redial_reset(uint8_t index);
void bt_update_redial_number(uint8_t index, char *buf, u32 len);
const char *bt_get_last_call_number(uint8_t index);
void bt_get_time(char *ptr, uint32_t len, uint8_t format);

int bsp_bt_mgr_mfi_status_get(void);
uint8_t *bsp_bt_mgr_mfi_uuid_get(void);
void bsp_bt_mgr_device_status_set(bsp_device_status_e sta);
uint8_t bsp_bt_mgr_device_status_get(void);
void bsp_bt_msg_handle(void);
void bsp_spp_connect_handle(void);
int bsp_spp_data_handle(void);


#endif //_BSP_BT_H
